package com.yzkj.cpjxc.business.service;

import com.yzkj.cpjxc.business.framework.common.BusinessMap;
import com.yzkj.cpjxc.business.framework.common.Pager;
import com.yzkj.cpjxc.business.domain.PingZhengChild;
import com.yzkj.cpjxc.business.domain.PingZhengChildQueryVo;
import com.yzkj.cpjxc.business.domain.PingZhengChildShowVo;

import java.util.List;

/**
 * 凭证管理关联子表 Service 接口
 */
public interface PingZhengChildService {
	
	/**
	 * 获取查询分页对象
	 * @creator: shenghe.he
	 * @modifier:
	 * @modifiedDate:
	 * @param pager
	 * @param queryVo
	 * @return
	 * @throws Exception
	 */
	public Pager<PingZhengChild> search(Pager<PingZhengChild> pager, PingZhengChildQueryVo queryVo) throws Exception;
	
	/**
	 * 新增凭证管理关联子表
	 * @creator: shenghe.he
	 * @modifier:
	 * @modifiedDate:
	 * @param pingZhengChild
	 * @return
	 * @throws Exception
	 */
	public BusinessMap create(PingZhengChild pingZhengChild) throws Exception;
	
	/**
	 * 判断是否存在
	 * @creator: shenghe.he
	 * @modifier:
	 * @modifiedDate:
	 * @param pingZhengChild 凭证管理关联子表
	 * @return
	 * @throws Exception
	 */
	public boolean isExists(PingZhengChild pingZhengChild) throws Exception;
	
	/**
	 * 根据ID获取凭证管理关联子表
	 * @creator: shenghe.he
	 * @modifier:
	 * @modifiedDate:
	 * @param uuid
	 * @return
	 * @throws Exception
	 */
	public PingZhengChild getById(String uuid) throws Exception;
	
	/**
	 * 编辑凭证管理关联子表
	 * @creator: shenghe.he
	 * @modifier:
	 * @modifiedDate:
	 * @param pingZhengChild 凭证管理关联子表
	 * @return
	 * @throws Exception
	 */
	public BusinessMap edit(PingZhengChild pingZhengChild) throws Exception;
	
	/**
	 * 根据ID删除凭证管理关联子表
	 * @creator: shenghe.he
	 * @modifier:
	 * @modifiedDate:
	 * @param uuid
	 * @return
	 * @throws Exception
	 */
	public boolean delete(String uuid) throws Exception;

	public List<PingZhengChildShowVo> getBypzid(String pzId) throws Exception;

	public boolean deleteChlids(String pzId) throws Exception;

	public PingZhengChild getMaxSequenceNumberByDate(PingZhengChild pingZhengChild) throws Exception;

	public void updateMaxDataToUp(PingZhengChild pingZhengChild, double increment) throws Exception;

	public void updateMaxDataToDown(PingZhengChildShowVo vo, double increment) throws Exception;
	

}
